1. Field of the Invention
The present invention relates to computer program deployment and more particularly to mobile application deployment to pervasive computing devices in a distributed computing environment.
2. Description of the Related Art
Integral to the successful implementation of a computer software development project is the ultimate deployment of a fully functioning computing system. Early forms of computing systems involved a single computer program executing in the memory of a single computer. The rise of computer network in general industry resulted in expansion of the traditional computing system from the single computer to a client-server architected computing system in which many different computing clients, individually executing a computer program access program data through one or more coupled host servers. The explosion of Internet computing has further complicated matters resulting in complex computing arrangements in which logic for a computing system resides and executes across a multiplicity of end user computing devices and remote servers.
The accessibility of the Internet has facilitated the growth and popularity of distributed computing models. In a distributed computing model, substantial processing can be pushed to host servers geographically closest to the end user. One or more controllers determine when program logic or data is best served from a particular remote server for the benefit of a particular end user or class of end users. Given the complexity of the distributed computing architecture, deploying an application into a distributed architecture can be equally as complicated—particularly where access policies determine whether or not an individual end user or class of end users are permitted to deploy a given application onto a given computing device.
The problem of application deployment into a distributed computing environment is most prevalent in a distributed computing environment supporting a multiplicity of pervasive end user mobile devices such personal digital assistants and smart phones. At present, the most popular methodology for application deployment to pervasive devices mimics the ad hoc distribution model. In the ad hoc distribution model, individual end users connect to a remote server providing a menu of applications available for deployment over the Internet to respective pervasive mobile devices. Thus, the process is one of a direct communication between a requesting pervasive mobile device and application repository.
Distributed computing environments, including those that support pervasive mobile devices, prefer functionality to manage the number, type and nature of applications able to be deployed to a particular individual or class of individuals. The ad hoc distribution model, thus, is not compatible with structure of a distributed computing environment to the extent that a distributed computing environment can include a selection of distributed hosts, each with its own application repository servicing a set of pervasive mobile devices. Thus, unlike the simplistic model of ad hoc application distribution for a single host distributing mobile applications to a multiplicity of pervasive mobile devices in which centralized control over access rights to the applications can be asserted, the ad hoc distribution model in a distributed computing environment requires substantial and tedious manual management by an administrator ensuring the access rights to mobile applications to different users or classes of users are enforced at each remote host.